# 使用键-值（key-value）存储，类似js中的map
# 需要牢记的第一条就是dict的key必须是不可变对象
m1 = {
    "zhangsan": 18,
    'wangwu': 15,
    19:'lisi'
}
print(m1)
m1['wangwu'] = 20
print(m1)
m1[22] = 11
print(m1)
print(m1['wangwu'])
# 访问不存在的key会报错
# print(m1['111'])
print(11 in m1)
print(m1.get('wangwu'))
# get获取不存在的key会返回None
print(m1.get('wangwu222'))
print(m1.get('wangwu222','get的默认值'))

print(m1)
# 删除指定key
m1.pop('zhangsan')
print(m1)

print("===============")
# set和dict类似，也是一组key的集合，但不存储value。由于key不能重复，所以，在set中，没有重复的key。
s1 = {1,2,3}
print(s1)
s1 = {1,1,1,2,3}
print(s1)
s1 = set([1,1,2])
print(s1)
# 添加元素，重复会覆盖
s1.add(3)
s1.add(3)
print(s1)
# 删除元素
s1.remove(3)
print(s1)
print('==================')
s1 = {1,2,3}
s2 = {3,4,5}
# 相当于集合求交集
print(s1 & s2)
# 求并集
print(s1 | s2)
